package com.hkts.management.unattended.somain.service.serviceimpl;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hkts.management.unattended.somain.entity.HktsSoSomain;
import com.hkts.management.unattended.somain.mapper.HktsSoSomainMapper;
import com.hkts.management.unattended.somain.service.IHktsSoSomainService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.apache.commons.lang.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

import java.util.List;
/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author yck
 * @since 2021-09-16
 */
@Service
@Transactional
public class HktsSoSomainServiceImpl extends ServiceImpl<HktsSoSomainMapper, HktsSoSomain> implements IHktsSoSomainService {


@Autowired
private HktsSoSomainMapper hktsSoSomainMapper;

@Override
public IPage<HktsSoSomain> selectPage(Page<HktsSoSomain> page, HktsSoSomain hktsSoSomain){
        QueryWrapper<HktsSoSomain> query = Wrappers.query();
        QueryWrapper<HktsSoSomain> entityWrapper = getEntityWrapper(query, hktsSoSomain);
        return hktsSoSomainMapper.selectPage(page, entityWrapper);
        }




@Override
public List<HktsSoSomain> selectList(HktsSoSomain hktsSoSomain){
        QueryWrapper<HktsSoSomain> query = Wrappers.query();
        QueryWrapper<HktsSoSomain> entityWrapper = getEntityWrapper(query, hktsSoSomain);
        return hktsSoSomainMapper.selectList(entityWrapper);
        }

/**
 *  公共查询条件
 * @param entityWrapper
 * @return
 */
public QueryWrapper<HktsSoSomain> getEntityWrapper(QueryWrapper<HktsSoSomain> entityWrapper,HktsSoSomain hktsSoSomain){
        //条件拼接
                if(StringUtils.isNotBlank(hktsSoSomain.getdSOCode())){
                entityWrapper.like(HktsSoSomain.D_S_O_CODE,hktsSoSomain.getdSOCode());
                }

                if(StringUtils.isNotBlank(hktsSoSomain.getcSTCode())){
                entityWrapper.like(HktsSoSomain.C_S_T_CODE,hktsSoSomain.getcSTCode());
                }
                if(StringUtils.isNotBlank(hktsSoSomain.getcDepCode())){
                entityWrapper.like(HktsSoSomain.C_DEP_CODE,hktsSoSomain.getcDepCode());
                }
                if(StringUtils.isNotBlank(hktsSoSomain.getcPersonCode())){
                entityWrapper.like(HktsSoSomain.C_PERSON_CODE,hktsSoSomain.getcPersonCode());
                }
                if(StringUtils.isNotBlank(hktsSoSomain.getcCusCode())){
                entityWrapper.like(HktsSoSomain.C_CUS_CODE,hktsSoSomain.getcCusCode());
                }
                if(StringUtils.isNotBlank(hktsSoSomain.getcCusName())){
                entityWrapper.like(HktsSoSomain.C_CUS_NAME,hktsSoSomain.getcCusName());
                }
                if(StringUtils.isNotBlank(hktsSoSomain.getcInvCode())){
                entityWrapper.like(HktsSoSomain.C_INV_CODE,hktsSoSomain.getcInvCode());
                }
                if(StringUtils.isNotBlank(hktsSoSomain.getcUnitLd())){
                entityWrapper.like(HktsSoSomain.C_UNIT_LD,hktsSoSomain.getcUnitLd());
                }
        return entityWrapper;
        }
        }
